package cn.harry.modular.achievement.domain;

import com.baomidou.mybatisplus.annotation.TableLogic;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serial;
import java.time.LocalDateTime;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableName;
import cn.harry.common.base.BaseEntity;

/**
 * 成果资源实体对象
 *
 * @author harry
 * @公众号 Harry技术
 */
@Getter
@Setter
@TableName("achievement")
public class Achievement extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 成果类型（课程教学、学术论文、科研项目、教学奖励、专利申请）
     */
    @Schema(description = "成果类型（课程教学、学术论文、科研项目、教学奖励、专利申请）")
    private String type;
    /**
     * 标题
     */
    @Schema(description = "标题")
    private String title;
    /**
     * 封面图片路径
     */
    @Schema(description = "封面图片路径")
    private String coverImage;

    /**
     * 文件内容
     */
    @Schema(description = "文件内容")
    private String content;
    /**
     * 附件存储路径
     */
    @Schema(description = "附件存储路径")
    private String attachmentPath;
    /**
     * 上传者用户ID
     */
    @Schema(description = "上传者用户ID")
    private Long uploader;
    /**
     * 上传时间
     */
    @Schema(description = "上传时间")
    private Date uploadTime;
    /**
     * 下载次数
     */
    @Schema(description = "下载次数")
    private Integer downloadCount;

    /**
     * 状态 0 待审核 1 已审核 2 审核拒绝
     */
    @Schema(description = "状态 0 待审核 1 已审核 2 审核拒绝")
    private String state;

}
